package course.d1223;

import java.io.File;
import java.io.IOException;

/*
   File类：  文件和目录路径名的抽象形式。
   file文件： 指的是一些文本文件， .doc  .text  .java  .excl
   directory: 目录，文件夹
   path: 路径

   路径：
   1.File(File parent, String child)
          根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
   2.File(String pathname)
          通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
   3.File(String parent, String child)
          根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

   成员方法：
   1.public boolean createNewFile()throws IOException
   当且仅当不存在具有此抽象路径名指定名称的文件时，不可分地创建一个新的空文件。
   检查文件是否存在，若不存在则创建该文件，这是单个操作，对于其他所有可能影响该文件的文件系统活动来说，该操作是不可分的。
   注意： 该方法不能创建目录， 指定的父路径一定要存在，否则会报IOException
   2.boolean mkdir()  // makeDirection
          当且仅当已创建目录时，返回 true；否则返回 false
          只能创建指定路径的目录
   3.boolean mkdirs()
          当且仅当已创建目录以及所有必需的父目录时，返回 true；否则返回 false
          创建所有的目录
   4.public boolean delete()
   删除此抽象路径名表示的文件或目录。
   如果此路径名表示一个目录，则该目录必须为空才能删除
   5.public boolean exists()
   测试此抽象路径名表示的文件或目录是否存在。
   当且仅当此抽象路径名表示的文件或目录存在时，返回 true；否则返回 false
   6.public boolean isFile()
   测试此抽象路径名表示的文件是否是一个标准文件。如果该文件不是一个目录，并且满足其他与系统有关的标准，那么该文件是标准文件
   当且仅当此抽象路径名表示的文件存在且 是一个标准文件时，返回 true；否则返回 false
   7.public boolean isDirectory()
   测试此抽象路径名表示的文件是否是一个目录。
   当且仅当此抽象路径名表示的文件存在且 是一个目录时，返回 true；否则返回 false

 */
public class a1 {
    public static void main(String[] args) {
    File file = new File("game");
        System.out.println("file.isFile() = " + file.isFile());



    }

    private static void a2() {
        File file  = new File("D:\\a.txt");
        System.out.println(file);
        try {
            boolean newFile = file.createNewFile();
            System.out.println(newFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void d1() {
        File file =   new File("D:\\a.txt");
        System.out.println(file);

        String parent = "D:\\a";
        File file1 = new File(parent,"a.txt");
        File file2 = new File(parent,"b.txt");
        System.out.println(file1);
        System.out.println(file2);

        File parentFile = new File("D:\\text");
        File file3 = new File(parentFile,"hello.txt");
        System.out.println(file3);
    }
}
